Method to dynamically create a virtual network

ABSTRACT

A method creates a virtual network dynamically, with automated configuration for the new virtual network to function. The virtual network creation is initiated by a network node sending a request for a virtual network to a network controller. The network controller services the request, creating the virtual network by automatically configuring at least one network switch in the physical network. The network controller automatically determines a configuration for the virtual network using virtual network information, and creates the virtual network by configuring network switches according to the configuration. The virtual network can be configured for particular applications. From a user&#39;s point of view, the user connects to a network node. The network node then initiates the creation of the virtual network transparently to the user. The resource-intensive manual configurations of the conventional approach in creating new virtual networks are thus avoided.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. patent applicationentitled “Method to Dynamically Create a Virtual Network”, Ser. No.11/228,868, filed on Sep. 15, 2005.

BACKGROUND OF THE INVENTION

1. Field

This invention relates generally to data communication, and morespecifically to a method to create a virtual network.

2. Related Art

The proliferation of wireless local area network (WLAN) has changeddrastically data communications among computers and among networkappliances. Home networks and networks for small businesses are adoptingWLAN technologies at a phenomenal rate. Part of the reason is theaffordable pricing of WLAN equipment, and part of the reason is the easeof installation and configuration.

The popularity of WLAN does not come without its own challenges. WLANemploys WiFi technologies and a public un-licensed spectrum offrequencies. Since the spectrum allows only a handful of channels, asspecified in WiFi standards, sharing the spectrum among networks becomesa headache. Currently, each WLAN supports one or more pre-configuredService Set Identity (SSID), allowing multiple networks to co-exist inthe same WLAN. The pre-configured networks allow a network node toeasily join an existing network. A network node would discover thesepre-configured networks and chooses to join one of the networks.

However, if a user wants to create a new virtual network connecting aplurality of network nodes such that they do not interfere with existingpre-configured networks. The user needs to use a new SSID. Further, theuser has to manually configure all the related WLAN networking equipmentto recognize the new SSID. Moreover, in order for the new WLAN virtualnetwork to inter-network with other WLAN virtual networks and externalnetworks, the user has, in addition, to configure other networks torecognize the new virtual network. The daunting tasks of suchconfigurations run opposite to the wisdom of wireless and mobility. Auser should be able to create a network on the fly and to dissemble thenetwork with ease.

The above illustrates a need for a method to create a WLAN virtualnetwork dynamically, with automated configuration for the new WLANvirtual network to function. The present invention addresses such aneed.

BRIEF SUMMARY OF THE INVENTION

A method creates a virtual network dynamically, with automatedconfiguration for the new virtual network to function. The virtualnetwork creation is initiated by a network node sending a request for avirtual network to a network controller. The network controller servicesthe request, creating the virtual network by automatically configuringat least one network switch in the physical network. The networkcontroller automatically determines a configuration for the virtualnetwork using virtual network information, and creates the virtualnetwork by configuring network switches according to the configuration.The virtual network can be configured for particular applications. Froma user's point of view, the user connects to a network node. The networknode then initiates the creation of the virtual network transparently tothe user. The resource-intensive manual configurations of theconventional approach in creating new virtual networks are thus avoided.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE FIGURES

FIG. 1 illustrates a virtual network in accordance with the presentinvention.

FIG. 2 illustrates a process for creating a virtual network inaccordance with the present invention.

FIG. 3 illustrates a process for creating a virtual network with aplurality of network switches in accordance with the present invention.

FIG. 4 illustrates a process for creating a virtual wireless network inaccordance with the present invention.

FIG. 5 illustrates a process for creating a virtual wireless networkwith a plurality of wireless network switches in accordance with thepresent invention.

FIG. 6 illustrates a process for creating a virtual Ethernet network inaccordance with the present invention.

FIG. 7 illustrates a process for creating a virtual Ethernet networkwith a plurality of Ethernet network switches in accordance with thepresent invention.

DETAILED DESCRIPTION OF THE INVENTION

The method in accordance with the present invention creates a virtualnetwork dynamically, with automated configuration for the new virtualnetwork to function. The virtual network creation is initiated by anetwork node sending a request for a virtual network to a networkcontroller. The network controller services the request, creating thevirtual network by automatically configuring at least one network switchin the physical network. The resource-intensive manual configurations ofthe conventional approach in creating new virtual networks are avoided.

FIG. 1 illustrates a virtual network in accordance with the presentinvention. A virtual network includes a network switch 130 and aplurality of network nodes 110, 120. A network node 110 communicateswith another network node 120 by sending and receiving network packets.A network node 110 sends network packets to a network switch 130, andreceives network packets from a network switch 130. If one network node110, sending network packets, and another network node 120, receivingnetwork packets, connect to a same network switch 130, the networkswitch 130 switches network packets received from network node 110 tonetwork node 120.

In one embodiment, a virtual network is based on wired communicationtechnologies such as Ethernet. In another embodiment, a virtual networkis based on wireless communication technologies such as radio frequencytechnology. Other types of communication technologies are possible.

A configuration for a virtual network includes virtual networkproperties. In one embodiment, virtual network properties include anetwork name, or derive a network name. In one embodiment, virtualnetwork properties include security information such as an encryptionkey. In one embodiment, virtual network properties include quality ofservices, bandwidth parameters, classes of services. In one embodiment,a network switch 130 requires configuration for a virtual network inorder for the network switch 130 to process network packets in thevirtual network.

Any network node 110, 120 may connect to a plurality of virtual networksand other networks. Network packets for different virtual networks mayhave different network names.

FIG. 2 illustrates a process for creating a virtual network inaccordance with the present invention. A network node 210 initiates aprocess to create a virtual network by sending a request for a virtualnetwork creation. A network switch 230 receives the request and sendsthe request to a network controller 240. In one embodiment, the requestincludes virtual network information. Virtual network informationincludes any information required by the network controller 240 toconfigure and create the requested virtual network, such as networkname, network usage or network configuration, etc. In one embodiment,network controller 240 prompts network node 210 for virtual networkinformation. The network controller 240 then services the request.

In one embodiment, network controller 240 determines the virtual networkrequested does not exist, and proceeds to create the virtual network. Inanother embodiment, network controller 240 examines the virtual networkinformation in the request, and proceeds to create the virtual networkwithout first determining if the virtual network requested exists.

In creating the virtual network, network controller 240 determines theconfiguration for the virtual network. In one embodiment, virtualnetwork information includes the configuration. In another embodiment,network controller 240 uses virtual network information to determine theconfiguration. In another embodiment, network controller 240 determinesthe configuration using information provided by a network database (notshown).

Network controller 240 configures network switch 230 using theconfiguration. The configuration may include one or more virtual networkproperties described above. After configuration, network switch 230 canaccept network packets of the virtual network. Network controller 240then replies to network node 210. Network node 210 receives the responsefrom network controller 240 and can then also send network packets ontothe virtual network.

FIG. 3 illustrates a process for creating a virtual network with aplurality of network switches in accordance with the present invention.A network node 310 initiates a process to create a virtual network. Anetwork switch 330 receives the request and sends the request to anetwork controller 340. In one embodiment, the request includes virtualnetwork information as defined above. In one embodiment, networkcontroller 340 prompts network node 310 for virtual network information.The network controller 340 then services the request.

In one embodiment, network controller 340 determines the virtual networkrequested does not exist, and proceeds to create the virtual network. Inanother embodiment, network controller 340 examines the virtual networkinformation in the request, and proceeds to create the virtual networkwithout first determining if the virtual network requested exists.

In creating the virtual network, network controller 340 determines theconfiguration for the virtual network. In one embodiment, virtualnetwork information includes the configuration. In another embodiment,network controller 340 uses virtual network information to determine theconfiguration. In another embodiment, network controller 340 determinesthe configuration using information provided by a network database (notshown).

Illustrated in FIG. 3, the plurality of network switches includesnetwork switches 330 and 332. Network controller 340 configures networkswitches 330 and 332 using the configuration. The configuration mayinclude one or more virtual network properties described above. Networkcontroller 340 may configure other network switches (not shown) as welldepending on the configuration. After configuration, network switches330 and 332 can accept network packets of the virtual network. Networkcontroller 340 then replies to network node 310. Network node 310receives the response from the network controller, and can start sendingnetwork packets onto the virtual network. Similarly, a network node 312connected to network switch 332 can send network packets onto thevirtual network. Network nodes 310 and 312 can communicate with eachother via network switches 330 and 332.

FIG. 4 illustrates a process for creating a virtual wireless network inaccordance with the present invention. A wireless network node 410connects to a wireless network switch 430 through a wireless means, forexample radio frequency communication channels. A wireless network node410 initiates a process to create a virtual wireless network by sendinga request for a virtual wireless network creation, using a configuredcommunication channel to a network controller 440. In one embodiment,the configured communication channel includes network switch 430. Inanother embodiment, the configured communication channel is a wiredmeans such as Ethernet. In one embodiment, the request includes virtualwireless network information as defined above. In one embodiment,network controller 440 prompts wireless network node 410 for virtualwireless network information. The network controller 440 then servicesthe request.

In one embodiment, network controller 440 determines the virtualwireless network requested does not exist, and proceeds to create thevirtual wireless network. In another embodiment, network controller 440examines the virtual wireless network information in the request, andproceeds to create the virtual wireless network without firstdetermining if the virtual network requested exists.

In creating the virtual network, network controller 440 determines theconfiguration for the virtual wireless network. In one embodiment,virtual wireless network information includes the configuration. Inanother embodiment, network controller 440 uses virtual wireless networkinformation to determine the configuration. In another embodiment,network controller 440 determines the configuration using informationprovided by a network database (not shown).

Network controller 440 configures wireless network switch 430 using theconfiguration. The configuration may include one or more virtual networkproperties described above. After configuration, wireless network switch430 can accept network packets of the virtual wireless network. Networkcontroller 440 then replies to wireless network node 410. Wirelessnetwork node 410 receives the response from network controller 440 andcan send network packets onto the virtual wireless network.

FIG. 5 illustrates a process for creating a virtual wireless networkwith a plurality of wireless network switches in accordance with thepresent invention. A wireless network node 510 initiates a process tocreate a virtual wireless network by sending a request for a virtualwireless network creation, using a configured communication channel to anetwork controller 540. In one embodiment, the configured communicationchannel includes network switch 530. In another embodiment, theconfigured communication channel is a wired means such as Ethernet. Inone embodiment, the request includes virtual wireless networkinformation as defined above. In one embodiment, network controller 540prompts wireless network node 510 for virtual wireless networkinformation. The network controller 540 then services the request.

In one embodiment, network controller 540 determines the virtualwireless network requested does not exist, and proceeds to create thevirtual wireless network. In another embodiment, network controller 540examines the virtual wireless network information in the request, andproceeds to create the virtual wireless network without firstdetermining if the virtual network requested exists.

In creating the virtual network, network controller 540 determines theconfiguration for the virtual wireless network. In one embodiment,virtual wireless network information includes the configuration. Inanother embodiment, network controller 540 uses virtual wireless networkinformation to determine the configuration. In another embodiment,network controller 540 determines the configuration using informationprovided by a network database (not shown).

Illustrated in FIG. 5, the plurality of network switches includeswireless network switches 530 and 532. Network controller 540 configureswireless network switches 530 and 532 using the configuration. Theconfiguration may include one or more virtual network propertiesdescribed above. Network controller 540 may configure other networkswitches (not shown) as well depending on the configuration. Afterconfiguration, wireless network switches 530 and 532 can accept networkpackets of the virtual wireless network. Network controller 540 thenreplies to wireless network node 510. Wireless network node 510 receivesthe response from the network controller and can start sending networkpackets onto the virtual wireless network. Similarly, a wireless networknode 512 connected to wireless network switch 532 can send networkpackets onto the virtual wireless network. Wireless network nodes 510and 512 can communicate with each other via network switches 530 and532.

In one embodiment, the wireless network is a home wireless network basedon WiFi technology. The network name is a Service Set Identity (SSID). Awireless network switch includes an access point for the home wirelessnetwork. The home wireless network has an existing Service Set Identity(SSID). A wireless network node uses an existing SSID as a configuredcommunication channel to send a request for a virtual wireless networkcreation to a network controller. The network controller determines aSSID of the virtual wireless network. The network controller configuresthe wireless network switches with the SSID of the virtual wirelessnetwork. After the wireless network node receives a response from thenetwork controller, the wireless network node can send network packetsto the virtual wireless network, using the SSID of the virtual wirelessnetwork.

FIG. 6 illustrates a process for creating a virtual Ethernet network inaccordance with the present invention. An Ethernet network node 610connects to an Ethernet network switch 630 through an Ethernetconnection. In one embodiment, the network name of a virtual Ethernetnetwork is a Virtual Local Area Network Identity (VLAN-ID). Ethernetnetwork node 610 initiates a process to create a virtual Ethernetnetwork by sending a request for a virtual Ethernet network creation,using the Ethernet connection as a configured communication channel to anetwork controller 640. In one embodiment, Ethernet network node 610sends the request in an Ethernet broadcast message. In one embodiment,Ethernet network node 610 sends the Ethernet broadcast message using aspecific VLAN-ID, e.g. VLAN-ID 0. In one embodiment, Ethernet networknode 610 sends the request in an Ethernet unicast message using aspecific Media Access Control (MAC) address for network creation. In oneembodiment, Ethernet network node 610 sends the request in an Ethernetunicast message using a MAC address for network controller 640. In oneembodiment, Ethernet network node 610 sends the request in an InternetProtocol (IP) message. In one embodiment, the IP message is an IPbroadcast message. In one embodiment, the IP message is destined fornetwork controller 640. In one embodiment, the request includes virtualEthernet network information. In one embodiment, network controller 640prompts Ethernet network node 610 for virtual Ethernet networkinformation. The network controller 640 then services the request.

In one embodiment, network controller 640 determines the virtualEthernet network requested does not exist, and proceeds to create thevirtual Ethernet network. In another embodiment, network controller 640examines the virtual Ethernet network information in the request, andproceeds to create the virtual Ethernet network without firstdetermining if the virtual network requested exists. In creating thevirtual network, network controller 640 determines the configuration forthe virtual Ethernet network. In one embodiment, virtual Ethernetnetwork information includes the configuration. In another embodiment,network controller 640 uses virtual Ethernet network information todetermine the configuration. In another embodiment, network controller640 determines the configuration using information provided by a networkdatabase (not shown).

Network controller 640 configures Ethernet network switch 630 using theconfiguration. The configuration may include one or more virtual networkproperties described above. After configuration, network controller 640configures Ethernet network switch 630 with the VLAN-ID of the virtualEthernet network. In one embodiment, Ethernet network switch 630configures Ethernet network switch 630 with a VLAN mapping method. Inone embodiment, the VLAN mapping method is based on MAC address mappingwith network controller 640 configuring Ethernet network switch 630 witha MAC address of network node 610. In another embodiment, VLAN mappingmethod is based on port mapping with network controller 640 configuringEthernet network switch 630 with the Ethernet port at Ethernet networkswitch 630 that connects to Ethernet network node 610. Afterconfiguration, Ethernet network switch 630 can accept network packets ofthe virtual Ethernet network. Network controller 640 then replies toEthernet network node 610. Ethernet network node 610 receives theresponse from network controller 640 and can send network packets ontothe virtual Ethernet network.

FIG. 7 illustrates a process for creating a virtual Ethernet networkwith a plurality of Ethernet network switches in accordance with thepresent invention. An Ethernet network node 710 connects to an Ethernetnetwork switch 730 through an Ethernet connection. Ethernet network node710 initiates a process to create a virtual Ethernet network by sendinga request for a virtual Ethernet network creation, using the Ethernetconnection as a configured communication channel to a network controller740. In one embodiment, Ethernet network node 710 sends the request inan Ethernet broadcast message. In one embodiment, Ethernet network node710 sends the Ethernet broadcast message using a specific VLAN-ID, e.g.VLAN-ID 0. In one embodiment, Ethernet network node 710 sends therequest in an Ethernet unicast message using a specific Media AccessControl (MAC) address for network creation. In one embodiment, Ethernetnetwork node 710 sends the request in an Ethernet unicast message usinga MAC address for network controller 740. In another embodiment,Ethernet network node 710 sends the request in an Internet Protocol (IP)message. In one embodiment, the IP message is an IP broadcast message.In one embodiment, the IP message is destined for network controller740. In one embodiment, the request includes virtual Ethernet networkinformation. In one embodiment, network controller 740 prompts Ethernetnetwork node 710 for virtual Ethernet network information. The networkcontroller 740 then services the request.

In one embodiment, network controller 740 determines the virtualEthernet network requested does not exist, and proceeds to create thevirtual Ethernet network. In another embodiment, network controller 740examines the virtual Ethernet network information in the request, andproceeds to create the virtual Ethernet network without firstdetermining if the virtual network requested exists. In creating thevirtual network, network controller 740 determines the configuration forthe virtual Ethernet network. In one embodiment, virtual Ethernetnetwork information includes the configuration. In another embodiment,network controller 740 uses virtual Ethernet network information todetermine the configuration. In another embodiment, network controller740 determines the configuration using information provided by a networkdatabase (not shown).

Illustrated in FIG. 7, the plurality of network switches includesEthernet network switches 730 and 732. Network controller 740 configuresEthernet network switches 730 and 732 using the configuration. Theconfiguration may include one or more virtual network propertiesdescribed above. Network controller 740 may configure other Ethernetnetwork switches (not shown) as well depending on the configuration.Network controller 740 configures Ethernet network switch 730 in asimilar manner as illustrated in FIG. 6. Network controller 740configures Ethernet network switch 732 with the VLAN-ID of the virtualEthernet network. In one embodiment, network controller 740 configuresadditional capabilities of Ethernet network switches 730 and 732 for theVLAN-ID. After configuration, Ethernet network switches 730 and 732 canaccept network packets of the virtual Ethernet network. Networkcontroller 740 then replies to Ethernet network node 710. Ethernetnetwork node 710 receives the response from the network controller andcan start sending network packets onto the virtual Ethernet network.Similarly, an Ethernet network node 712 connected to Ethernet networkswitch 732 can also send network packets onto the virtual Ethernetnetwork. Ethernet network nodes 710 and 712 can communicate with eachother via Ethernet network switches 730 and 732.

The configuration can be based on the application for the virtualnetwork. For example, a wireless network node can create a virtualwireless network for a music application. The virtual wireless networkfor the music application connects a plurality of wireless network nodesrelated to the music application. For example, a wireless network noderelated to the music application can be a music player, a juke box, amusic library system, a speaker, a music disk player, a music diskburner, or a music boom box.

For another example, a wireless network node can create a virtualwireless network connecting wireless network nodes related to a videoapplication. Other examples include, a virtual wireless network createdfor a pictures and images application. In one embodiment, a wirelessnetwork node creates a virtual wireless network for kitchen appliances,and a virtual wireless network to allow communication among wirelessnetwork nodes from the same manufacturer, of the same brand, orpurchased from the same retailer. There can be a plurality of differentvirtual wireless networks for the music application, the videoapplication, pictures and images application or kitchen appliances.

After a virtual network is created, a network switch can recordstatistics of the virtual network traffic through the network switch.The statistics include the number of network packets of the virtualnetwork, total number of bytes of network packets of the virtualnetwork, number of discarded network packets, number of invalid networkpackets, or other numbers useful for network monitoring and networkanalysis. Some or all network switches in the virtual network can recordstatistics.

A network controller also can record accounting information about avirtual network. The accounting information includes the time ofcreation of the virtual network, the statistics of the virtual networktraffic, and/or the duration of the virtual network. The networkcontroller determines a plurality of network switches to record thestatistics of the virtual network traffic. The network controllercollects the statistics from the network switches. The networkcontroller may collect the statistics frequently or periodically fromthe network switches.

Optionally, the network controller collects the statistics when thevirtual network is released. A network controller computes the durationof a virtual network by knowing the creation time and the released timeof the virtual network. In one embodiment, the network controllerdetermines a virtual network is released when the network controllerreceives a release request for the virtual network, or when the networkcontroller determines the virtual network is no longer in use. In onescenario, a network node in the virtual network sends a release requestto the network controller. In another scenario, a network switch sendsan indication that the virtual network is no longer in use, when thenetwork switch determines that there is no more network traffic in thevirtual network. In this embodiment, the network controller determines avirtual network is no longer in use when all network switches in thevirtual network indicate that the virtual network is no longer in use.In another embodiment, the network controller determines the virtualnetwork is no longer in use by monitoring the statistics collected fromthe network switches. In one embodiment, the network controllerdetermines the virtual network is no longer in use at a pre-determinedtime, or at a fixed duration of time after the virtual network iscreated.

The accounting information of a virtual network can be used to generatea usage report of the virtual network and/or used to generate billinginformation.

For example, virtual networks can be created in a multi-tenant unit,such as an office building or a business park. A virtual network serviceprovider offers virtual network services to tenants of a multi-tenantunit. The virtual network service provider operates a plurality ofnetwork switches and a plurality of network controllers. A tenantoperates a plurality of network nodes, which use the virtual networkservices by creating a virtual network, sending traffic on the virtualnetwork. The tenant may create a plurality of virtual networks atdifferent locations in the multi-tenant unit, or at different times. Thenetwork controllers create the virtual networks and collect accountinginformation about the virtual networks. The virtual network serviceprovider generates billing statements from the accounting information.The virtual network service provider can generate billing statements ona monthly basis or can generate a billing statement on each virtualnetwork used by the tenant.

For another example, a virtual network service provider can offervirtual network service to clients. A virtual network service can beoffered in a public space such as a concert hall, a stadium, or a park.A virtual network service provider operates a plurality of networkswitches and a plurality of network controllers. A client operates aplurality of network nodes. When a client wants to use virtual networkservice for an event such as a concert, a ball game, or a socialgathering, the client uses the network nodes to create one or morevirtual networks among network nodes belonging to the client. Thenetwork nodes exchange network packets. The virtual network serviceprovider generates a billing statement for the client from accountinginformation collected by the network controller. The virtual networkservice provider can generate a billing statement for the client for thevirtual networks used by the client, or generate a billing statement foran event.

Foregoing described embodiments of the invention are provided asillustrations and descriptions. They are not intended to limit theinvention to precise form described. In particular, it is contemplatedthat functional implementation of invention described herein may beimplemented equivalently in hardware, software, firmware, and/or otheravailable functional components or building blocks, and that networksmay be wired, wireless, or a combination of wired and wireless. Othervariations and embodiments are possible in light of above teachings, andit is thus intended that the scope of invention not be limited by thisDetailed Description, but rather by Claims following.

1. A method for dynamically creating a new virtual network comprising:(a) receiving a request by a network controller for creating the newvirtual network, wherein the request is sent by a network node; (b)determining a new virtual network name for the new virtual network; (c)creating the new virtual network by the network controller byconfiguring a network switch with the new virtual network name, whereinthe network switch is different from the network node; and (d) sending areply from the network controller to the network node, wherein the newvirtual network includes the network node after the network nodereceives the reply, wherein after receiving the reply, the network nodesends packets for the new virtual network to the configured networkswitch using the new virtual network name.
 2. The method of claim 1,wherein the request is sent by the network node to the networkcontroller via the network switch.
 3. The method of claim 1, wherein thereply from the network controller comprises the new virtual networkname.
 4. The method of claim 1, wherein the network switch comprises thenetwork controller.
 5. The method of claim 1, wherein the new networkname comprises a Service Set Identity (SSID).
 6. The method of claim 1,wherein the creating (c) comprises: (c1) configuring the network switchwith one or more of the following: quality of services, bandwidthparameters, or class of services.
 7. The method of claim 1, wherein thenew virtual network is configured for a virtual network application. 8.The method of claim 7, wherein the virtual network application comprisesone or more of the following: a music application; a video application;a pictures and images application; a network of devices from a samemanufacturer; a network of devices with a same brand; or a network ofdevices purchased from a same retailer.
 9. A method for providing adynamic network service, comprising: (a) receiving a request forcreating a new virtual network for the network service from a networknode through a network switch different from the network node; (b)determining a new network name for the new virtual network; (c)configuring the network switch with the new network name; (d) sending areply to the network node, wherein after receiving the reply, thenetwork node sends packets to the network switch using the new networkname; and (e) generating an accounting statement using accountinginformation for the new virtual network.
 10. The method of claim 9,wherein the network service comprises one or more of the following: amulti-tenant building network service; a business network service; anoffice building network service; a public event network service; awireless network service; or an Ethernet network service.
 11. The methodof claim 9, wherein the generating (e) comprises: (e1) collectingnetwork statistics for the new virtual network from the network switch;and (e2) generating the accounting statement using the networkstatistics.
 12. The method of claim 9, wherein the accountinginformation comprises one or more of the following: billing information;or time information.
 13. The method of claim 12, wherein the timeinformation comprises one or more of the following: a creation time forthe new virtual network; or a release time for the new virtual network.14. A system, comprising: a network controller for automaticallycreating a new virtual network; a network node coupled to the networkcontroller, wherein the network node sends a request to the networkcontroller for creating the new virtual network, wherein the networkcontroller determines a new virtual network name for the new virtualnetwork; and a network switch different from the network node, whereinthe network switch is configured with the new virtual network name bythe network controller, wherein the network controller sends a reply tothe network node, wherein the new virtual network includes the networknode after the network node receives the reply, wherein after receivingthe reply, the network node sends packets for the new virtual network tothe configured network switch using the new virtual network name. 15.The system of claim 14, wherein the network node sends the request tothe network controller via the network switch.
 16. The system of claim14, wherein the reply from the network controller comprises the newvirtual network name.
 17. The system of claim 14, wherein the networkswitch comprises the network controller.
 18. The system of claim 14,wherein the new network name comprises a Service Set Identity (SSID).19. The system of claim 14, wherein the network controller configuresthe network switch with one or more of the following: quality ofservices, bandwidth parameters, or class of services.
 20. The system ofclaim 14, wherein the new virtual network is configured for a virtualnetwork application.
 21. The system of claim 20, wherein the virtualnetwork application comprises one or more of the following: a musicapplication; a video application; a pictures and images application; anetwork of devices from a same manufacturer; a network of devices with asame brand; or a network of devices purchased from a same retailer. 22.The system of claim 14, wherein the network controller creates the newvirtual network for a network service, wherein the network servicecomprises one or more of the following: a multi-tenant building networkservice; a business network service; an office building network service;a public event network service; a wireless network service; or anEthernet network service.
 23. The system of claim 14, wherein thenetwork controller further generates an accounting statement usingaccounting information for the new virtual network.
 24. The system ofclaim 23, wherein the network controller collects network statistics forthe new virtual network from the network switch and generates theaccounting statement using the network statistics.
 25. The system ofclaim 23, wherein the accounting information comprises one or more ofthe following: billing information; or time information.
 26. The systemof claim 25, wherein the time information comprises one or more of thefollowing: a creation time for the new virtual network; or a releasetime for the new virtual network.
 27. A non-transitory computer readablemedium having a computer readable program, wherein the computer readableprogram when executed on a computer causes the computer to: receive arequest for creating the new virtual network, wherein the request issent by a network node; determine a new virtual network name for the newvirtual network; create the new virtual network by configuring a networkswitch with the new virtual network name, wherein the network switch isdifferent from the network node; and send a reply to the network node,wherein the new virtual network includes the network node after thenetwork node receives the reply, wherein after receiving the reply, thenetwork node sends packets for the new virtual network to the configurednetwork switch using the new virtual network name.
 28. A non-transitorycomputer readable medium having a computer readable program, wherein thecomputer readable program when executed on a computer causes thecomputer to: receive a request for creating a new virtual network forthe network service from a network node through a network switchdifferent from the network node; determine a new network name for thenew virtual network; configure the network switch with the new networkname; send a reply to the network node, wherein after receiving thereply, the network node sends packets to the network switch using thenew network name; and generate an accounting statement using accountinginformation for the new virtual network.
 29. A non-transitory computerreadable medium having a computer readable program, wherein the computerreadable program when executed on a computer causes the computer to:receive a request for creating the new virtual network, wherein therequest is sent by a network node; determine a configuration of at leastone network switch for the new virtual network using informationprovided by a source other than the network node that sent the request,wherein the configuration comprises a new virtual network name for thenew virtual network; automatically create the new virtual network byconfiguring the at least one network switch according to theconfiguration without configuring the network node; and in response tocreating the new virtual network, send a reply to the network node thatsent the request, wherein the new virtual network includes the networknode that sent the request after the network node receives the reply,wherein after receiving the reply, the network node sends packets forthe new virtual network using the new virtual network name to theconfigured network switch.
 30. A non-transitory computer readable mediumhaving a computer readable program, wherein the computer readableprogram when executed on a computer causes the computer to: send arequest by a network node for creating the new virtual network, whereinthe request is received by a network controller, wherein the networkcontroller determines a configuration of at least one network switch forthe new virtual network using information provided by a source otherthan the network node that sent the request, wherein the configurationcomprises a new virtual network name for the new virtual network,wherein the network controller automatically creates the new virtualnetwork by configuring the at least one network switch according to theconfiguration without configuring the network node; receive, by thenetwork node that sent the request, a reply sent from the networkcontroller in response to creating the new virtual network, wherein thenew virtual network includes the network node that sent the requestafter the reply is received; and after receiving the reply, send by thenetwork node packets for the new virtual network using the new virtualnetwork name to the configured network switch.
 31. A non-transitorycomputer readable medium having a computer readable program, wherein thecomputer readable program when executed on a computer causes thecomputer to: receive a request for creating the new virtual wirelessnetwork, wherein the request is sent by a network node; determine a newService Set Identity (SSID) of at least one network switch for the newvirtual wireless network; automatically create the new virtual wirelessnetwork by configuring the at least one network switch using the newSSID of the new virtual wireless network without configuring the networknode; in response to creating the new virtual wireless network, send areply to the network node, wherein the new virtual wireless networkincludes the network node after the network node receives the reply,wherein after receiving the reply, the network node sends packets usingthe SSID for the new virtual wireless network to the configured networkswitch; receive information from the at least one network switch of thenew virtual wireless network that there is no more traffic on the newvirtual wireless network; and in response to receiving the information,automatically release the virtual wireless network.